/*
 * ReceiverRaw.h
 *
 *  Created on: 03.11.2011
 *      Author: Pavel Sinay
 */

#ifndef RECEIVERRAW_H_
#define RECEIVERRAW_H_

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <cstdio>
#include <fcntl.h>
#include <vector>
#include <pthread.h>

#include "Socket.h"
#include "ClientAcceptor.h"

namespace net {

class ReceiverSocket: public ClientAcceptor {
public:
	ReceiverSocket();
	virtual ~ReceiverSocket();

	virtual int onRawReceived(std::vector<char> const &rx_message,
			std::vector<char> &tx_message) = 0;

private:
	virtual void onClientAccepted(Socket *client_socket);
};

}

#endif /* RECEIVERRAW_H_ */
